using System;
using System.Collections.Generic;
using NHibernate.Expression;

namespace CosyTrade.StoreManagement
{
    public interface ITradeSystem
    {
        void CreateExportBill(ExportBill exportBill);
        void UpdateExportBill(ExportBill exportBill, Dictionary<Guid, BillState> billStates);
        void DeleteExportBill(Guid exportBillGuid);
        ExportBill GetExportBillItem(Guid primaryKey);
        IList<ExportBillBase> SearchExportBill(ICriterion criterion, int pageIndex, int pageSize, params Order[] orderBy);
        int CalcExportBillCount(ICriterion criterion);

        ImportBill BuildImportBill(Guid exportBillGuid);
        void SaveImportBill(ImportBill importBill);
        void DeleteImportBill(Guid importBillGuid);
        IList<ImportBillBase> SearchImportBillBase(ICriterion criterion, int pageIndex, int pageSize, params Order[] orderBy);
        int CalcImportBillCount(ICriterion criterion);
        void CommitImportBill(ImportBill importBill);
    }
}